package com.hcloud.libupload.utils

import java.io.File

fun getFileType(file: File): Int {
    if (file.isFile) {
        val name = file.name.toLowerCase()
        if (name.contains(".")) {
            if (
                name.endsWith(".png")
                || name.endsWith(".jpg")
                || name.endsWith(".gif")
                || name.endsWith(".bmp")
                || name.endsWith(".jpeg")
                || name.endsWith(".tif")
                || name.endsWith(".psd")
                || name.endsWith(".ico")
                || name.endsWith(".tga")
            ) {
                return 1
            } else if (
                name.endsWith(".asf")
                || name.endsWith(".avi")
                || name.endsWith(".dat")
                || name.endsWith(".dv")
                || name.endsWith(".flv")
                || name.endsWith(".mkv")
                || name.endsWith(".mov")
                || name.endsWith(".mp4")
                || name.endsWith(".rm")
                || name.endsWith(".swf")
                || name.endsWith(".ts")
                || name.endsWith(".vob")
                || name.endsWith(".wmv")
                || name.endsWith(".rmvb")
                || name.endsWith(".mpg")
                || name.endsWith(".3gp")
                || name.endsWith(".webm")
            ) {
                return 2
            } else if (
                name.endsWith(".ac3")
                || name.endsWith(".flac")
                || name.endsWith(".m4a")
                || name.endsWith(".mp2")
                || name.endsWith(".mp3")
                || name.endsWith(".wav")
                || name.endsWith(".wma")
                || name.endsWith(".ape")
                || name.endsWith(".mpc")
                || name.endsWith(".tta")
                || name.endsWith(".wv")
                || name.endsWith(".ogg")
                || name.endsWith(".amr")
            ) {
                return 3
            } else if (
                name.endsWith(".txt")
                || name.endsWith(".pdf")
                || name.endsWith(".doc")
                || name.endsWith(".docx")
                || name.endsWith(".xls")
                || name.endsWith(".xlsx")
                || name.endsWith(".ppt")
                || name.endsWith(".pptx")
                || name.endsWith(".md")
                || name.endsWith(".rtf")
                || name.endsWith(".hlp")
            ) {
                return 4
            } else if (
                name.endsWith(".xz")
                || name.endsWith(".zip")
                || name.endsWith(".7z")
                || name.endsWith(".gz")
                || name.endsWith(".tar")
                || name.endsWith(".rar")
                || name.endsWith(".bz2")
                || name.endsWith(".xz")
                || name.endsWith(".wim")
            ) {
                return 5
            } else if (name.endsWith(".dwg")) {
                return 6
            } else {
                return 5
            }
        } else {
            return 5
        }
    } else if (file.isDirectory) {
        return 0
    } else {
        return 5
    }
}